package com.woniuxy.service.impl;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.woniuxy.entity.User;
import com.woniuxy.mapper.UserMapper;
import com.woniuxy.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @Author: 马宇航
 * @Todo: TODO
 * @DateTime: 25/03/04/星期二 14:42
 * @Component: 成都蜗牛学苑
 **/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
    @Autowired
    private UserMapper userMapper;
    @Override
    public User getOne(String username) {
        //创建一个查询容器
        QueryWrapper<User> wrapper = new QueryWrapper<>();
        //添加查询条件
        wrapper.eq("username",username);
        //执行查询
        return userMapper.selectOne(wrapper);
    }



    //业务代码就会变得简单，逻辑反而到了controller层
    @Override
    public List<User> list(IPage<User> page, Wrapper<User> queryWrapper) {
        return userMapper.selectPage(page,queryWrapper).getRecords();
    }
    /*
        分页查询
        1. 先创建一个分页对象
        2. 调用分页查询方法
        3. 返回分页对象
    */
//    @Override
//    public PageDTO<User> pageSearch(IPage<User> page, Wrapper<User> queryWrapper) {
//        //1.利用mapper的分页方法
//        IPage<User> userIPage = userMapper.selectPage(page, queryWrapper);
//        PageDTO<User> pageDTO = new PageDTO<>();
//        //2.查询出来的页面数据
//        pageDTO.setRecords(userIPage.getRecords());
//        //3.总条数
//        pageDTO.setTotal(userIPage.getTotal());
//        return pageDTO;
//    }
}
